package org.example.ndarray.create;

import ai.djl.ndarray.NDArray;
import ai.djl.ndarray.NDManager;
import ai.djl.ndarray.types.DataType;
import ai.djl.ndarray.types.Shape;

public class Example3 {
    public static void main(String[] args) {
        try (NDManager ndManager = NDManager.newBaseManager()) {
            /*
              我们更多希望从一些特定概率分布中的NDArray为每一个成员采样随机样本值
              例如，当我们在一个神经网络中创建多个array作为参数时，我们一般会用随机数将它们初始化
              接下来的示例演示如何创建一个维度为(3, 4)的NDArray。它每一个成员将从高斯分布中随机提取。
             */
            NDArray randNDArray = ndManager.randomNormal(0f, 1f, new Shape(3, 4), DataType.FLOAT32);
            System.out.println(randNDArray);
            // 你也可以直接使用shape，它会使用平均标准分布作为默认值
            randNDArray = ndManager.randomNormal(new Shape(3, 4));
            System.out.println(randNDArray);
        }
    }
}
